import { contextBridge, ipcRenderer } from 'electron'

contextBridge.exposeInMainWorld('systemApp', {
  openDialog: (path:string) => {ipcRenderer.send("openDialog",path)}, // 打开系统对话框
  
  // 日志相关的 IPC 通信接口
  onLogUpdate: (callback: (logs: string[]) => void) => {
    ipcRenderer.on('log-data', (_event, logs) => callback(logs));
  },
  
  // 请求获取当前所有日志
  requestLogs: () => {
    ipcRenderer.send('request-logs');
  },
  
  // 清空日志
  clearLogs: () => {
    ipcRenderer.send('clear-logs');
  }
})

// 窗口控制API
contextBridge.exposeInMainWorld('electronAPI', {
  // 最小化窗口
  minimizeWindow: () => {
    return ipcRenderer.invoke('minimize-window')
  },
  
  // 切换最大化状态
  toggleMaximize: () => {
    return ipcRenderer.invoke('toggle-maximize')
  },
  
  // 关闭窗口
  closeWindow: () => {
    return ipcRenderer.invoke('close-window')
  },
  
  // 监听窗口状态变化
  onWindowStateChange: (callback: (state: { isMaximized: boolean }) => void) => {
    ipcRenderer.on('window-state-changed', (_event, state) => callback(state))
  }
})